//      filesystem.h
//      
//      Copyright 2012 Mukesh <mukesh_fun2010@yahoo.in>
//      
//      This program is free software; you can redistribute it and/or modify
//      it under the terms of the GNU General Public License as published by
//      the Free Software Foundation; either version 2 of the License, or
//      (at your option) any later version.
//      
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//      GNU General Public License for more details.
//      
//      You should have received a copy of the GNU General Public License
//      along with this program; if not, write to the Free Software
//      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
//      MA 02110-1301, USA.


#ifndef FILESYSTEM_H
#define FILESYSTEM_H

#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include <gmodule.h>
#include "../../plugin.h"
#include "../../common.h"


void gesbian_plugin_init ( GesbianPlugin * g ) ;
void gesbian_plugin_uri_open ( GesbianPlugin * g, gchar * uri ) ;

gchar * filesystem_get_mime_type ( gchar * filename ) ;
GdkPixbuf * filesystem_get_icon ( gchar * mime_type ) ;

gint filesystem_sort_func ( GtkTreeModel * model, GtkTreeIter * iter1,
							 GtkTreeIter * iter2, GesbianPlugin * g ) ;
void filesystem_item_activated ( GtkIconView * iconview,
								GtkTreePath * path,
								GesbianPlugin * g ) ;

void filesystem_ui_init ( GesbianPlugin * g ) ;
void filesystem_go_back ( GesbianPlugin * g ) ;
void filesystem_go_forward ( GesbianPlugin * g ) ;
void filesystem_go_home ( GesbianPlugin * g ) ;
void filesystem_stop ( GesbianPlugin * g ) ;
void filesystem_go ( GesbianPlugin * g ) ;
void filesystem_go_up ( GesbianPlugin * g ) ;
gboolean filesystem_keyboard_shortcuts ( GtkWidget * widget, GdkEventKey * event, GesbianPlugin * g ) ;
gchar * filesystem_get_selected_item ( GesbianPlugin * g ) ;
GdkPixbuf * filesystem_get_thumbnail ( gchar * filename ) ;
gchar * filesystem_get_mime_info ( gchar * filename ) ;
void filesystem_sidebar_set_info ( GesbianPlugin * g ) ;
void filesystem_sidebar_clear ( GesbianPlugin * g ) ;
#endif
